package model

import (
	"time"
	"gorm.io/gorm"
)

// Dict 字典类型
type Dict struct {
	ID          uint           `gorm:"primarykey" json:"id"`
	Name        string         `gorm:"size:50;not null" json:"name"`
	Type        string         `gorm:"size:50;not null;unique" json:"type"`
	Description string         `gorm:"size:200" json:"description"`
	Status      int           `gorm:"default:1" json:"status"` // 1:正常 0:禁用
	CreatedAt   time.Time      `json:"created_at"`
	UpdatedAt   time.Time      `json:"updated_at"`
	DeletedAt   gorm.DeletedAt `gorm:"index" json:"-"`
	Items       []DictItem     `json:"items"`
}

// DictItem 字典数据
type DictItem struct {
	ID        uint           `gorm:"primarykey" json:"id"`
	DictID    uint           `gorm:"not null" json:"dict_id"`
	Label     string         `gorm:"size:50;not null" json:"label"`
	Value     string         `gorm:"size:50;not null" json:"value"`
	Sort      int           `gorm:"default:0" json:"sort"`
	Status    int           `gorm:"default:1" json:"status"` // 1:正常 0:禁用
	CreatedAt time.Time      `json:"created_at"`
	UpdatedAt time.Time      `json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
} 